package com.example.myandroidapp

import android.os.Bundle
import android.view.View
import android.widget.Toast
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat

class ButtonComponent : AppCompatActivity(), View.OnClickListener {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        enableEdgeToEdge()
        setContentView(R.layout.activity_button_component)
        ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets ->
            val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
            v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
            insets
        }

        // 2. 根据id获取按钮, 并设置动态点击事件
        //<!--第二种点击事件：setOnClickListener：适合动态绑定事件，灵活性高。-->
        val btn = findViewById<View>(R.id.btn2)
        btn.setOnClickListener {
            Toast.makeText(this, "又点我干啥???", Toast.LENGTH_SHORT).show()
        }

        // 3. 根据id获取按钮, 并设置需要执行的全局f点击事件
        val btn3 = findViewById<View>(R.id.btn3)
        btn3.setOnClickListener(this) // 设置监听器为当前 Activity
    }

    //xml布局中按钮的 点击事件
    fun onBtnClick(view: View) {
        Toast.makeText(this, "点我干啥", Toast.LENGTH_SHORT).show()
    }

    // 3. 实现View.OnClickListener接口，并重写onClick方法
    override fun onClick(v: View?) {
        // 需要通过 view.id 来区分不同的按钮。
        when (v?.id) {
            R.id.btn3 -> Toast.makeText(this, "3点我干啥???", Toast.LENGTH_SHORT).show()
        }
    }
}